/**
 * 参考博客：https://blog.csdn.net/LuckyWinty/article/details/124138429
 * 属性私有化是指某个属性允许外界直接使用，如Obj.xx都不行，只能内部对象调用，就像类的pritvate私有属性，可通过提供方法方式获取值
 * 私有属性一般以_xx命名，如vue2实例很多这种_xx的属性
 1. 闭包
  构造函数内定义局部变量和特权函数，其实例只能通过特权函数访问此变量
  优点:优点是实现了私有属性的隐藏，Person 的实例并不能直接访问_name属性，只能通过特权函数getName获取：
  缺点：
  私有变量和特权函数只能在构造函数中创建。通常来讲，构造函数的功能只负责创建新对象，方法应该共享于prototype上。
  特权函数本质上是存在于每个实例中的，而不是prototype上，增加了资源占用
 * @param {*} name 
 */
function Person(name) {
  let _name = name;

  this.getName = function () {
    return _name;
  };
}

let p = new Person("屁屁踢");
console.log("[ p.getName() ] >", p.getName());
